package com.xd.core.business.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 客户工单关联表
 * </p>
 *
 * @author ZX
 * @since 2025-02-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ExcelIgnoreUnannotated
public class IncomingInfoPageVo implements Serializable {

    @ApiModelProperty(value = "进件单号")
    private Integer incomingId;

    @ApiModelProperty(value = "流程状态（1-进件中，2-进件审核中，3-等待授信，4-授信失败，5-授信完成,6-等待签约,7-签约完成,\" +\n" +
            "            \"8-抵押办理,9--抵押完成,10--公证办理,11--待放款）")
    private String status;

    @ExcelProperty(value = "订单状态")
    @ApiModelProperty(value = "订单状态详情")
    private String statusRemark;

    @ExcelProperty(value = "期望贷款金额")
    @ApiModelProperty(value = "期望贷款金额")
    private BigDecimal amount;

    @ExcelProperty(value = "产品名称")
    @ApiModelProperty(value = "进件产品")
    private String productName;

    @ExcelProperty(value = "产品类型")
    @ApiModelProperty(value = "产品类型")
    private String type;

    @ApiModelProperty(value = "产品类型")
    private String typeCode;

    @ExcelProperty(value = "客户姓名")
    @ApiModelProperty(value = "客户姓名")
    private String name;

    @ExcelProperty(value = "客户手机号")
    @ApiModelProperty(value = "客户手机号")
    private String phone;

    @ExcelProperty(value = "授信金额")
    @ApiModelProperty(value = "授信金额")
    private BigDecimal creditAmount;

    @ExcelProperty(value = "授信额度起始日期")
    @ApiModelProperty(value = "授信起始日期")
    @JsonFormat(pattern = "yyyy-MM-dd", shape = JsonFormat.Shape.STRING, timezone = "GMT+8")
    private Date startTime;

    @ExcelProperty(value = "授信额度到期日期")
    @ApiModelProperty(value = "授信结束日期")
    @JsonFormat(pattern = "yyyy-MM-dd", shape = JsonFormat.Shape.STRING, timezone = "GMT+8")
    private Date endTime;

    @ExcelProperty(value = "业务更新时间")
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", shape = JsonFormat.Shape.STRING, timezone = "GMT+8")
    private Date updateTime;

    @ExcelProperty(value = "订单创建时间")
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", shape = JsonFormat.Shape.STRING, timezone = "GMT+8")
    private Date orderTime;

    @ExcelProperty(value = "授信人")
    @ApiModelProperty(value = "授信人")
    private String creditUser;

    @ExcelProperty(value = "进件人")
    @ApiModelProperty(value = "进件人")
    private String incomingUser;

    @ExcelProperty(value = "进件机构")
    @ApiModelProperty(value = "进件机构")
    private String institution;

    @ExcelProperty(value = "平台停单")
    @ApiModelProperty(value = "订单状态(0--启用,1--停用)")
    private String isEnable;

    @ApiModelProperty(value = "资方id")
    private Integer companyId;

    @ExcelProperty(value = "借款订单编号")
    @ApiModelProperty(value = "进件订单号")
    private String incomingOrder;

    @ApiModelProperty(value = "个人信息授权书签署状态(0--未签署,1--已签署)")
    private String personalInfoStatus;

    @ApiModelProperty(value = "是否抵押(0--是,1--否)")
    private String isMortgage;

    @ApiModelProperty(value = "争议方式(1--公证,2--仲裁,3--诉讼)")
    private String controversy;
}
